function setDefaultMdlAdvCfg()
%SETDEFAULTMDLADVCFG 设置模型顾问的默认配置
%   此函数设置模型顾问（Model Advisor）的默认配置文件，该配置将在所有MATLAB会话中保持有效。
%   配置更改是永久性的，会影响后续所有模型顾问的运行。
%
%语法:
%   setDefaultMdlAdvCfg()
%
%输入参数:
%   无
%
%输出参数:
%   无
%
%说明:
%   - 首先检查Simulink Check产品是否已安装
%   - 关闭所有当前打开的Simulink模型
%   - 获取项目标准命名的配置文件名
%   - 调用ModelAdvisor.setDefaultConfiguration设置默认配置
%   - 如果Simulink Check许可证不可用，显示警告信息
%
%先决条件:
%   - 需要Simulink Check许可证
%   - 配置文件必须存在且格式正确
%
%功能特性:
%   - 自动许可证检查
%   - 批量模型关闭
%   - 永久配置设置
%   - 错误处理和用户反馈
%
%配置文件:
%   配置文件名由ProjectNamingManager.getNameStr('model advisor configuration')确定，
%   通常为标准化的JSON格式文件。
%
%示例:
%   % 设置默认模型顾问配置
%   setDefaultMdlAdvCfg();
%   
%   % 验证配置已设置
%   currentConfig = ModelAdvisor.getDefaultConfiguration();
%   fprintf('当前默认配置: %s\n', currentConfig);
%
%使用场景:
%   - 项目初始化设置
%   - 标准化开发环境
%   - 自动化配置部署
%   - 团队协作配置同步
%
%依赖项:
%   dig.isProductInstalled - 检查产品安装状态
%   bdclose - 关闭Simulink模型
%   ProjectNamingManager.getNameStr - 获取标准化名称
%   ModelAdvisor.setDefaultConfiguration - 设置默认配置
%
%参见:
%   ModelAdvisor.setDefaultConfiguration, bdclose, dig.isProductInstalled
%
%注意:
%   配置更改在所有MATLAB会话中保持有效，直到被明确修改。
%

%版本: 1.0
%日期: 2021-2024
%


%   

if dig.isProductInstalled('Simulink Check')
    % Close all models.
    bdclose('all');
    % Set default Model Advisor configuration.
    configFile = [ProjectNamingManager.getNameStr('model advisor configuration'), '.json'];
    ModelAdvisor.setDefaultConfiguration(configFile);
    disp(['Set the default Model Advisor configuration to settings of "', configFile, '".'])
else
    warning('A Simulink Check license is not available.');
end

end
